Channel adaptation in sensor networks

ABSTRACT

A source node in a network accesses information associated with a set of available transmission states. The source node selects a first transmission state from the set of available transmission states. The source node evaluates a metric associated with transmitting the data. The source node determines whether the metric is below a threshold value. Based on determining that the metric is below the threshold value, the source node selects a second transmission state from the set of available transmission states, the second transmission state being different from the first transmission state. The source node transmits data using the second transmission state.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority from U.S. Provisional Application No. 61/640,936, filed May 1, 2012, and titled “Channel Adaptation in Sensor Networks,” which is incorporated by reference.

TECHNICAL FIELD

The following disclosure relates generally to channel adaptation in sensor networks.

BACKGROUND

A wireless sensor network typically includes sensor nodes distributed in an area that communicate with a base station using wireless radio frequency (RF) channels.

SUMMARY

In one general aspect, a source node in a network accesses information associated with a set of available transmission states. The source node selects a first transmission state from the set of available transmission states. The source node evaluates a metric associated with transmitting the data. The source node determines whether the metric is below a threshold value. Based on determining that the metric is below the threshold value, the source node selects a second transmission state from the set of available transmission states, the second transmission state being different from the first transmission state. The source node transmits data using the second transmission state.

Implementations may include one or more of the following features. Each of the first and second transmission states may include a transmission frequency band, a radio frequency (RF) power level and a transmission data rate. Each transmission state included in the set of available transmission states may include a combination of a transmission frequency band, an RF power level and a transmission data rate that is distinct from other transmission states included in the set.

The metric may include success rate associated with transmitting the data. Evaluating the success rate may include determining a ratio of an amount of the data transmitted to an amount of the data received at a destination.

A destination node in the network may listen for data using each transmission state included in the set of available transmission states. The destination node may receive the data transmitted by the source node. The source node may include a sensor and the destination node may include a base station. Evaluating the metric associated with transmitting the data may include one or more of evaluating RSSI (receive signal strength indicator), determining a packet success rate, or determining energy in a carrier band.

In another general aspect, a source node in a network accesses information associated with a set of available transmission states. The source node orders the available transmission states into a set of ranked transmission states based on a first evaluation. The source node selects a first transmission state from the set of ranked transmission states. The source node evaluates a first metric associated with data transmission for the first transmission state included in the set of ranked transmission states. The source node selects a second transmission state from the set of ranked transmission states, the second transmission state being lower ranked than the first transmission state. The source node evaluates a second metric associated with data transmission for the second transmission state included in the set of ranked transmission states. The source node determines whether the second metric is less than the first metric. Based on determining that the second metric is less than the first metric, the source node transmits data using the second transmission state.

Particular implementations may include one or more of the following features. The first evaluation may include a theoretical energy per bit (EPB) used for data transmission. Ordering the transmission states into the set of ranked transmission states may include ordering the transmission states into the set of ranked transmission states based on increasing EPB such that a transmission state associated with a lower EPB is placed higher in the set compared to a transmission state associated with a higher EPB.

The first metric and the second metric may include at least one of energy consumption lifecycle cost for data transmission, received signal strength indicator (RSSI), packet success rate (PSR) associated with transmitting the data and energy in a carrier band. Evaluating the PSR may include determining a ratio of an amount of the data transmitted to an amount of the data received at a destination.

Each of the first and second transmission states includes a transmission frequency band, a radio frequency (RF) power level and a transmission data rate. Each transmission state included in the set of available transmission states may include a combination of a transmission frequency band, an RF power level and a transmission data rate that is distinct from other transmission states included in the set.

A destination node in the network may listen for data using each transmission state included in the set of available transmission states. The destination node may receive the data transmitted by the source node. The source node may include a sensor and the destination node may include a base station.

Accessing the information associated with a set of available transmission states may include accessing, by the source node, the information based on a predetermined schedule. The source node may determine energy expenditure associated with transmitting data using the second transmission state. The source node may select a third transmission state from the set of ranked transmission states, the third transmission state being a transmission state that was previously used for transmission. The source node may examine previously assessed energy savings associated with data transmission using the third transmission state. The source node may determine whether the previously assessed energy savings is greater than the energy expenditure associated with transmitting data using the second transmission state. Based on determining that the previously assessed energy savings is greater, the source node may transmit data using the third transmission state.

Ordering the transmission states into the set of ranked transmission states may include ordering the transmission states into the set of ranked transmission states based on increasing energy consumption lifecycle cost such that a transmission state associated with lower energy consumption lifecycle cost is placed higher in the set as compared to a transmission state associated with higher energy consumption lifecycle cost.

Implementations of the techniques discussed above may include a method or process, a system or apparatus, a wireless sensor network, a sensor node, a communications node, a receiver, a transceiver, a kit, or computer software stored on a computer-accessible medium. The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.

DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of a communications system for RF channel adaptation between sensor nodes and a base station.

FIG. 2 illustrates an exemplary sensor node that implements RF channel adaptation.

FIG. 3 is a flow chart illustrating an exemplary process for RF channel adaptation by a sensor node.

FIG. 4 is a flow chart illustrating another exemplary process for RF channel adaptation by a sensor node.

FIG. 5 is a flow chart illustrating an exemplary process of power expense evaluation for RF channel adaptation by a sensor node.

FIG. 6 is a flow chart illustrating an exemplary process for determining when to perform power expense evaluation for RF channel adaptation by a sensor node.

FIG. 7 is an exemplary plot illustrating the effect of RF channel adaptation by a sensor node on energy consumption and transmission range.

DETAILED DESCRIPTION

This disclosure relates to a wireless Local Area Network (LAN). The LAN may provide reduced energy consumption, improved communication reliability, increased data throughput, and improved transmission range. The LAN may address the competing demands of performance and lifecycle cost for battery or energy harvester powered sensor nodes. The LAN may employing distributed intelligence throughout a network (for example, a wireless sensor network) to adapt a metric of a sensor in the network. The metric may be, for example, transmission frequency, over-the-air data rate, and/or RF transmission power level. The adaptation may be achieved, without adversely impacting network data throughput and energy consumption (which would be typical in currently available LAN), through the use of dedicated RF channels at a central wireless collection server, a star network topology, and/or autonomous performance optimization at nodes of the LAN.

In some applications, such as monitoring or control of machines, vehicles, aircraft, civil infrastructure, manufacturing facilities, or industrial processes, a wireless sensor network that includes multiple sensor nodes may provide an advantage as compared to wired solutions. Such applications may require robust and high data rate communications, but may not allow for the cost or additional weight associated with wired sensors. This may be the case particularly in cost sensitive Condition Based Maintenance (CBM) applications where sensors are used to acquire data that is intended to reduce the cost of maintenance, secondary damage, and downtime. The wireless sensors may have steady power sources or supplies. The power source for a wireless sensor node may be either an energy harvester or battery having a size and weight determined by the sensor power budget. Because weight or size of the sensors may be a key consideration in implementing a sensor network, the power budget of wireless sensor nodes may be limited, thereby limiting the lifecycle of the network. Therefore, there may be a tradeoff between sensor capability and sensor weight or size, and, consequently, a tradeoff between the functionality of the sensor network and the sensor lifecycle cost. This tradeoff may be particularly keen for wireless sensors because of the high data throughput and high reliability typically desired in many sensor applications.

The sensor nodes provide an interface between aspects of the physical surroundings in which they are place and the human or computer that is controlling or monitoring the physical surroundings. For example, the sensor node may measure temperature, pressure, vibration, strain, position, or flow rate. In this example, the sensors are acquiring information from the physical surroundings, which could include a machine, process, or system, and delivering that information through a wireless communication network to the desired user or computer control interface.

The sensor nodes may include the ability to receive data from the user or computer controller and deliver commands or control signals to the physical environment, which could include, for example a valve or switch. The sensor in this context includes not only features that are similar to a measurement node, but also additional features such as a bidirectional interface with its physical surroundings.

By maximizing the power supply energy/power density while reducing electrical power consumption of the communications system, the sensor network may achieve the goal of high data throughput and high reliability. Maximizing the power supply energy/power density while reducing electrical power consumption of the communications system may be achieved by suitably configuring the radio frequency (RF) transmission portion of the communications system, because RF transmission is responsible for a relatively large portion of the energy consumed by the sensor nodes.

The RF transmission capability of the sensor nodes in the sensor network is controlled by central server. The central server may be referred to as a base station. The RF channel used for transmission is usually synchronized amongst all the sensor nodes and the base station. However, this may lead to concentrated usage of a single narrow frequency band and internetwork interference in transmission between sensor nodes, thereby degrading system performance. In addition, frequent synchronization of the RF channel may unnecessarily expend energy of the sensor nodes.

Improvement in the performance of the sensor communications system may be realized by implementing a wireless local area network (LAN) solution that employ distributed intelligence throughout the network to adapt transmission frequency, over-the-air data rate, and RF transmission power level. Such adaptability is achieved through using dedicated RF channels at a central wireless collection server that may serve as the base station, an array of receivers arranged in some topology, and autonomous performance optimization at the transmitting sensor nodes of the wireless LAN. The base station or collection server has multiple receivers at different locations operating at different frequencies. A sensor node transmits using a RF channel that has a suitable combination of frequency, data rate, and RF power parameters. The sensor node performs RF channel adaptation, that is, the sensor node evaluates the RF channel and, based on the evaluation, switches to another RF channel that is associated with less energy consumption for data transmission, independently of all other sensor nodes in system.

A sensor system with the above wireless LAN implementation may reduce life cycle cost through energy consumption minimization. By using multiple receivers at different locations, the system may improve multipath fading using spatial diversity (antenna diversity). The use of different frequencies for transmission/reception may lead to rapid and robust, low energy consumption/cost interference mitigation (frequency agility). An automated data rate improvement may be achieved through balancing frequency spectrum usage. Unpredictable frequency adaption by the sensor nodes may be suited to robust security of the system. Having different nodes transmit at different frequencies may lead to higher throughput and reduced internetwork interference. The system may be able to dynamically adapt to changing data demands or changing RF environment, or both. In addition, the system may be able to accommodate either a very long range or very high data rates in the same network.

FIG. 1 illustrates an example of a communications system for RF channel adaptation between sensor nodes and a base station. The communications system 100 is a wireless sensor network that includes sensor nodes, such as sensor nodes 112 a, 112 b and 112 c (collectively referred to as sensor nodes 112), that are spatially distributed throughout the network. Each sensor node 112 is a processing device that measures and/or responds to some physical quantity, and the sensor nodes 112 communicate with a base station 130 through a network 120. The base station 130 includes receivers, such as receivers 132 a, 132 b and 132 c (collectively referred to as receivers 132), which communicate with a central collection server 134 through a connection 136.

The nodes in the communications system 100, such as 112 a, 112 b or 112 c, may be any type of network node or communications node. For example, the nodes 112 a, 112 b or 112 c may be configured for providing an output signal. This may be in addition to, or as an alternative to, providing some sensing functionality. Therefore, although the rest of the disclosure refers to the nodes 112 in the communications system 100 as sensor nodes 112, the nodes 112 may be network nodes.

The network 120 may be, for example, a local area network (LAN), a wide area network (WAN), or part of the Internet. The network 120 may include one or more wireless RF channels (not shown), which are used by the sensor nodes to communicate with the base station 130. Each RF channel may operate at a different frequency and data rate, or all or some of the RF channels may operate at the same frequency and data rate. Each RF channel may have the same bandwidth and be capable of supporting similar data rates, or the RF channels may have different bandwidths and support different data rates. The number of RF channels included in the network 120 may be same as or greater than the number of sensor nodes in the wireless sensor network such that each sensor node is able to transmit using a different RF channel. The number of RF channels may be less than the number of sensor nodes such that at least some of the sensor nodes 112 share some of the RF channels for transmission.

Each of the receivers 132 includes one or more network interfaces and one or more antennas through which the receiver establishes a connection to the network 120. The connection may be a wireless and/or wired connection. Each of the receivers 132 may receive data from the sensor nodes 112 over the RF channels and forward the data to the central collection server 134. The collection server may reside near the LAN or offsite. One or more collection servers may be used to serve a LAN. The collection server supplies data to a data storage server that is controlled by a web hosted client. The web client controls both the database and the collection servers. The database may be locally hosted or use a remote cloud-based infrastructure. The connections between the collection servers and other collection servers or the web host may use wired or wireless connections including Wi-Fi, cellular phone connections, or satellite phone service infrastructure.

In some implementations, each of the receivers 132 also may be configured for transmitting data to the sensor nodes 112 over the RF channels. All the receivers 132 may be wired to the central collection server 134 and line-powered such that the receivers are not energy-constrained. Each of the receivers 132 has an antenna that is located at a different location, thus achieving spatial diversity.

In such implementations, each of the receivers 132 also may be referred to as a “transceiver,” since each of the receivers 132 is configured for bidirectional communication. Therefore, although the rest of the disclosure makes reference to the receivers 132, the term “transceivers” is equally applicable to the receivers.

Each of the receivers 132 has a fixed frequency and data rate that corresponds to its RF channel and power level. The power level of each of the receivers 132 may be initially set to a maximum value. Any given receiver communicates with a subset of the sensor nodes that are transmitting on the same RF channel using the same frequency and data rate.

The central collection server 134 may include one or more servers that collect and process data received from the sensor nodes 112 by the receivers 132 in the base station 130. The central collection server 134 may store and process sensor node data and may send instructions to the sensor nodes 112 as needed. The central collection server 134 includes one or more processors configured to execute instructions stored by a computer-readable medium, and the central collection server 134 includes one or more network interfaces through which the server 134 is connected to the receivers 132, which in turn communicate with the sensor nodes 112.

In some implementations, the central collection server 134 configure the RF channels such that each RF channel has a different frequency and data rate. The central collection server 134 sends the list of RF channels and corresponding frequency and data rates to the sensor nodes 112. In some implementations, each RF channel is configured separately, for example, by a network administrator. The list of RF channels is provided and/or loaded onto the sensor nodes 112 at the time of deployment. The receivers 132 are configured with different RF channels when the receivers 132 are deployed in the sensor network.

The connection 136 connects all the receivers 132 to the central collection server 134. The connection 136 may be a wired and or wireless connection. The receivers 132 may be arranged spatially in a circle or oval and connected to the central collection server 134 through the connection 136. The receivers 132 may be arranged in some other geometry, for example, a square or rectangle, to the central collection server.

In some implementations, the sensor nodes 112 communicate with the receivers 132 over the RF channels in network 120 in a star topology, that is, the sensor nodes 112 maintain one-to-one communication with the receivers 132 in the base station and there is no direct connection between the sensor nodes 112 themselves. In some implementations, the sensor nodes 112 communicate with the receivers 132 over the RF channels, and are also connected with other sensor nodes using the wireless channels, that is, the network implements a mesh topology.

In the wireless sensor network implemented by the communications system 100 as described above, in general, a sensor node, for example, 112 a, transmits to a single receiver, for example, 132 a. The RF channel used by the sensor node 112 a and the receiver 132 a is the same, that is, the sensor node 112 a is transmitting using the same frequency (F) and data rate (R) at which the receiver 132 a is listening. The sensor node 112 a may transmit using the RF channel that provides the most suitable set of parameters (F, R, P), with P being the RF transmission power level, F being the transmission frequency, and R being the data rate, for minimizing the sensor node energy consumed for the transmission. The sensor node may adapt a combination of two or more of the parameters frequency (F), RF power (P) and data rate (R). If the transmission to the current receiver, for example, 132 a, is poor, the sensor node 112 a may change the data rate (R) and frequency (F) to any of the other discrete frequency and data rate, that is, a different RF channel, at which the some other receiver in the base station, for example, 132 b or 132 c, is set. In addition, the sensor node 112 a may autonomously change the power level (P) for improving the transmission. The base station 130 adapts the data rate (R) and frequency (F) by having different receivers 132 listening at different combinations of frequency and spatial position of antennas. The base station 130 also may adapt the spatial position of antennas by having antennas of different receivers located at different places.

In some implementations, the RF channel parameters used by the sensor nodes 112 are consistent across the network and are designed to meet the requirements of the sensor node with the lowest link budget. The sensor nodes may be located in a wide range of locations with varying path loss, interference levels, and multipath problems; therefore, the link budgets for each sensor node may be highly variable. Sensor nodes with high link margins may expend more energy than what is required to maintain reliable communication with the respective receivers.

The adaptation of the RF channel parameters as described previously may be applied to ultra-low power radio networks in which the sensor nodes are configured for operation over periods of multiple years on a single double AA battery. For example, such nodes may be implemented using radios based on the IEEE802.15.4 specification, or slightly outside of that specification to include a broader range of functionality. Example radios include Texas Instrument's CC2530, Nordic Semiconductor's nRF24L01, and Atmel's AT86RF230. Typically, these radios are designed to operate in the unlicensed ISM (Industrial Scientific, Medical) frequency bands, for example, 2.4 GHz to 2.5 GHz.

For the sensor nodes described previously, lower energy consumption by an additional factor of two may be realized by adapting data rate over power level adaption alone. The impact of frequency adaption may vary depending on the level and type of interference present in the network. If there is a high degree of interference present in specific RF channels, orders of magnitude additional energy may be consumed through retransmission to ensure reliable data communication. As indicated previously, signal fading due to multipath effects also may influence the link budget; this may be addressed with the spatial distributions of antennas of the receivers at the base station.

Each of the sensor nodes 112 may tailor its RF power level independently from all other sensor nodes and the receivers 132. However, with frequency and data rate adaption, both ends of the communication link, that is, the particular sensor node and receiver on the same RF channel, use the same frequency and data rate. In traditional networks, the adaption of frequency and data rate in a dynamically changing environment may be synchronized between the sensor node and the receiver through additional communications between the two entities. The additional communication may impact the energy budget of the sensor node. For example, in Bluetooth™ networks, the sender and receiver are synchronized using frequency hopping. However, the power consumption demands of nodes in a Bluetooth™ network are generally an order of magnitude greater than levels that are achievable using the adaptation mechanism implemented by the sensor nodes in the communications system 100.

The communications system 100 enables low power adaption of frequency and data rate by adopting a specific configuration in which base station has multiple wireless receivers that are listening on RF channels set to fixed frequencies and data rates. The number of RF channels configured for the receivers determine the range of adaption for the sensor nodes. The different data rates are supported by having RF channels with different frequencies. For i independent frequencies and j different data rates, the total number of RF channels configured for the receivers may be i×j.

The sensor nodes may independently switch between different frequencies and data rates without requiring synchronization of the sensor nodes and receiver RF channel switching or entire network channel switching, thereby eliminating additional energy consumption by the sensor nodes and associated switching liability concerns.

FIG. 2 illustrates an exemplary sensor node 200 that implements RF channel adaptation. The sensor node 200 may be, for example, one or more of the sensor nodes 112. The following describes the sensor node 200 as being included in the wireless sensor network shown in FIG. 1. However, the sensor node 200 may be implemented in other systems or system configurations.

The sensor node 200 includes a processor 202 coupled to a network interface 204 that is coupled to an antenna 206. The sensor node 200 also includes an electronic storage medium 208 that stores a list of RF channels 208 a and is connected to the processor 202. In addition, sensor node 200 includes one or more sensing elements 210.

The processor 202 is configured for execute instructions stored by the storage medium 208 for performing various operations, such as input/output, communication, data processing. For example, the processor 202 may read a list of preconfigured RF channels that is stored in the storage medium 208, and evaluate each RF channel for determining the most suitable parameters for transmission. The processor 202 may store the results of the evaluation in the storage medium 208, and configure the antenna 206 to transmit and receive on the RF channel that is determined to be most suitable for the sensor node 200. The processor 202 also may receive environmental data collected by the sensing element 210 and store the data in the storage medium 208. At predetermined intervals, the processor 202 may forward the data to the central collection server at the base station using the network interface 204 and the antenna 206.

The network interface 204 is configured for establishing connections to one or more networks, such as network 120. The connections may be wireless and/or wired connections. The network interface 204 establishes the connections by configuring the antenna 206 for a suitable RF channel based on the instructions received from the processor 202. All data being sent or received by the sensor node is forwarded through the network interface 204. Although only one network interface is shown, the sensor node 200 may include multiple network interfaces that are coupled to different antennas. Alternatively, the sensor node 200 may include multiple network interfaces that are coupled to a single antenna, or the sensor node 200 may include a single network interface that is coupled to multiple antennas.

The storage medium 208 may be a hard drive, read-only memory (ROM) or random access memory (RAM), a flash memory device, a floppy drive, a CD-ROM, or some other suitable storage medium that is readable by the processor 202. The storage medium 208 is configured for storing data and instructions for execution by the processor 202. The data may include the list of RF channels 208 a using any of which the sensor node 200 may transmit/receive.

The instructions and/or data such as the list of RF channels 208 a may be stored in the storage medium 208 before deployment of the sensor node 200 in the network, for example, at the time of manufacture of the sensor node. Alternatively, the instructions and/or data may be dynamically stored in the storage medium 208 during operation in the network, for example, through wireless communication and commands from the base station in the sensor network. The instructions and data also may be periodically updated in the storage medium 208. For example, the processor 202 may periodically store environmental data that is collected by the sensor node 200 through measurements by the sensing element 210.

The sensing element 210 is a component that measures and responds to some physical quantity in the environment of the sensor node 200. The sensing element 210 may have one or more interfaces that are exposed to the environment outside the confines of the sensor node 200 for measuring the environmental parameters. The sensing element 210 may respond to the measurement by performing some action, for example, converting the physical quantity to a signal that is processed by the processor 202. For example, sensing element 210 may be a thermocouple that measures the ambient temperature and outputs a voltage based on the measurement. As another example, the sensing element 210 may detect physical vibrations in the environment and convert the mechanical energy of the vibrations into electrical energy that is stored in the sensor node 200 as an energy source.

In some implementations, the sensor node 200 may be a microcomputer with basic computing functionality, while in other implementations, the sensor node 200 may be full-fledged computer with comprehensive capabilities, for example, a desktop computer, laptop computer, a tablet computer, a netbook, a smart phone, an e-book reader, or any other appropriate portable or stationary computing device.

FIG. 3 is a flow chart illustrating an exemplary process 300 for RF channel adaptation by a sensor node. The process 300 may be performed by one or more of the sensor nodes 112. The following describes the process 300 as being performed by the sensor node 112 a and other components of the communications system 100. However, the process 300 may be performed by other systems or system configurations.

A sensor node accesses information on available transmission states (302). A transmission state [P, R, F] includes the frequency (F), data rate (R) and/or RF power level (P) at which the sensor node may transmit. The frequency and data rate correspond to an RF channel that is configured on at least one of the receivers 132. For example, the sensor node 112 a may access the list of RF channels 208 a that is stored in the storage medium 208 in the respective sensor node.

The sensor node selects a new transmission state (304). For example, the sensor node 112 a may have been transmitting on an RF channel that is experiencing interference or fading effects, resulting in a poor success rate in transmitting data to the receiver listening on the particular RF channel. To improve performance, the sensor node 112 a selects a different transmission state from the list of transmission states known to the sensor node 112 a.

The sensor node transmits using the selected transmission state (306). For example, the sensor node may send test packets, such as a beacon message, on the RF channel corresponding to the frequency and data rate associated with the selected transmission state. The sensor node may transmit using the power level set to the RF power level associated with the selected transmission state.

The sensor node evaluates a metric (308). In order to determine whether the presently selected transmission state is suitable for data transmission, or to compare the selected transmission state to other transmission states included in the list 208 a, the sensor node evaluates one or more metrics based on the transmission. For example, one metric that may be used for evaluation is a cost function (C) associated with the energy consumption for the transmission.

The cost function (C) is the ratio of theoretical energy per bit (EPB) of data transmitted and the packet success rate (PSR) raised to a power factor (m). The PSR is a measure of the number of packets successfully received by the receiver to the number of packets sent by the sender. PSR is an experimentally measured parameter that depends on the environment and may vary both spatially across the network and temporally. The value of PSR may be between 0 and 1. PSR may be different based on the locations of the transmit and receive antennas. The EPB quantities for each transmission state depend on the RF power level (P) and data rate (R) but not on the environment or other external factors. A set of EPB values for combinations of R and P may be used as constants for a sensor node.

Minimizing the cost function (C) offers the lowest energy consumption for transmission by the sensor node and therefore minimizes the lifecycle cost of the sensor node. The cost function (C) takes into consideration the degree of reliability of the data transmissions that are required, which is controlled by the power factor (m). High values for the power factor (m) indicate the need for consistent operation at a higher RF power level at the expense of energy consumption.

The power factor (m) is a network configuration variable that is set as a fixed parameter for each sensor node corresponding to the required reliability or persistence of the data communication that is required. Each sensor node may have a different power factor (m).

Increasing the data rate (R) reduces the RF transmission period for a given volume of data. Because the data rate (R) does not impact the radio power consumption, increases in data rate (R) directly reduce the EPB. However, increasing the data rate (R) may reduce the receive sensitivity and therefore the link budget, which may lead to incorrect measurement of the PSR. Reducing the RF power level (P) has a similar effect on the EPB as increasing the data rate. Lowering RF power levels may generally reduce the EPB but may also reduce the PSR.

Adapting the frequency (F) over a relatively narrow range (for example, within an ISM band) does not impact the EPB, but may address either or both interference and multipath fading problems which impact the measured PSR.

Returning to the process 300, upon evaluating the metric, the sensor node determines whether the metric is lower than a threshold (310). For example, the sensor node may determine whether the cost function for the selected transmission state is less than the cost function for the previous transmission state. Alternatively, the sensor node may determine whether the cost function for the selected transmission state is less than the lowest cost function for other transmission states that were previously computed.

If the sensor node determines that the metric is not lower than the threshold, then the sensor node selects a new transmission state from the list 208 a and performs the evaluation for the newly selected state, as described previously. If the sensor node determines that the metric is lower than the threshold, then the sensor node continues transmitting using the selected transmission state (312). For example, if the evaluated cost function for the selected state is determined to be lower than the cost function for the previous transmission state, the sensor node achieves improved or that is lower, energy consumption by transmitting using the selected state.

FIG. 4 is a flow chart illustrating another exemplary process 400 for RF channel adaptation by a sensor node. The process 400 may be performed by any of the sensor nodes 112. The following describes the process 400 as being performed by the sensor node 112 a and other components of the communications system 100. However, the process 400 may be performed by other systems or system configurations.

The process 400 is executed by a sensor node accessing a list of transmission states [P, R, F] (402). For example, sensor node 112 a may access the list of RF channels 208 a that is stored in the storage medium 208 in the respective sensor node.

The sensor node selects a transmission state [P_(i), R_(i), F_(i)], i=k, from the list (404), where k is an integer number that corresponds to a particular transmission state. For example, the sensor node 112 a may have been transmitting on an RF channel that is experiencing interference or fading effects such that the sensor node 112 a has a poor success rate in transmitting data to the receiver listening on the particular RF channel. Consequently, the sensor node 112 a selects a different transmission state from the list of transmission states known to the sensor node.

The sensor node 112 a sends a beacon to a receiver using frequency F_(i) at data rate R_(i) and using power level P_(i) (406). For example, the sensor node 112 a may send test packets, such as a beacon message, on the RF channel corresponding to the frequency F_(i) and data rate R_(i) indicated by the selected transmission state. The sensor node 112 a may transmit using the power level set to the RF power level P_(i) indicated by the selected transmission state.

The sensor node determines whether an acknowledgement is received (408). For example, the receiver at the base station that is listening on the RF channel corresponding to the frequency F_(i) and data rate R_(i) may receive the beacon message sent by the sensor node 112 a and reply with an acknowledgement indicating successful reception of the beacon message.

The sensor node reads the acknowledgement (410). For example, the sensor node 112 a reads the acknowledgement to determine whether the acknowledgement is in response to the beacon message. In addition, the sensor node 112 a may examine the payload of the acknowledgement message to determine whether the message includes any additional information.

The sensor node determines whether an action is requested (408). For example, the receiver may include additional commands in the acknowledgement message that it sends in response to the beacon message. For example, the commands may be sent by the central collection server 134 in the base station 130. The additional commands may be included in the payload of the acknowledgement message. When examining the payload of the acknowledgement message, the sensor node 112 a determines whether additional information in the payload includes any command for performing some action.

If the sensor node determines that an action is requested, the sensor node 112 a acts on the command (414). For example, the sensor node 112 a performs some action based on the command included in the payload of the acknowledgement message.

Once the command is executed, or if the sensor node 112 a determines that no action is requested, the sensor node evaluates the rate of acknowledgement success rate for the selected transmission state [P_(i), R_(i), F_(i)], i=k, an integer number that corresponds to a transmission state (416). For example, the sensor node 112 a may determine PSR for the selected transmission state based on the beacon messages that it sends.

The sensor node 112 a determines whether more pings are needed for the evaluation (418). For example, the sensor node 112 a may determine that the sample space of acknowledgements is too small for performing a suitable evaluation of the PSR for the selected transmission state.

If the sensor node 112 a determines that more pings are needed for the evaluation (418), the sensor node 112 a may send another beacon to the receiver using the frequency F_(i) at data rate R, and using power level P_(i) (406), and repeat the process of receiving and evaluating acknowledgements.

On the other hand, if the sensor node 112 a determines that more pings are not needed for the evaluation, the sensor node analyzes whether the selected transmission state is a good transmission state (420). For example, the sensor node 112 a may compute the cost function (C) using the theoretical EPB for the selected transmission state (which is pre-computed) and the evaluated PSR. Alternatively, the sensor node 112 a may formulate a representative PSR based on measuring one or more of RF energy in a given band or a Receive Signal Strength Indication (RSSI).

If the sensor node 112 a determines that the transmission state is not good, then the sensor node changes to a new transmission state [P_(i), R_(i), F_(i)], i=l (422), which is selected from the list of transmission states 208 a. Here l is a particular transmission state that is different from the transmission state k. The sensor node 112 a send a beacon to the receiver using the frequency F_(i) at data rate R_(i) and using power level P_(i) (406), where i=l, and repeats the process of receiving and evaluating acknowledgements.

On the other hand, if the sensor node 112 a determines that the transmission state is a good transmission state, then the sensor node 112 a continues transmitting using the transmission state [P_(i), R_(i), F_(i)], i=k (424). For example, if the evaluated cost function for the state [P_(i), R_(i), F_(i)], i=k is determined to be lower than the cost function for the previous transmission state, the sensor node achieves better, that is, lower, energy consumption by transmitting using the selected state.

FIG. 5 is a flow chart illustrating an exemplary process 500 of power expense evaluation for RF channel adaptation by a sensor node. The process 500 may be performed by any of the sensor nodes 112. The following describes the process 500 as being performed by the sensor node 112 a and components of the communications system 100. However, the process 500 may be performed by other systems or system configurations.

The process 500 is executed when a sensor node intends to map the available RF channels to find a suitable set of transmission states to operate within. The process 500 minimizes the energy consumption of the sensor node for finding the suitable set of transmission states.

In order to perform the power expense evaluation for RF channel adaptation, the sensor node 112 a initially clears all costs associated with (R, P) pairs (501). For example, the sensor node 112 a deletes the previously evaluated values of the PSR and cost function (C) for the different transmission states that are stored in the storage medium 208, along with the list of RF channels 208 a.

After clearing the costs, the sensor node 112 a selects an initial operating frequency, for example, F_(n). The sensor node sets the frequency to F_(n) (502). For example, the sensor node 112 a selects a transmission state having a frequency F_(n) and sets the transmission frequency of the antenna 206 to F_(n).

The sensor node 112 a orders (R, P) pairs for F_(n) from lowest to highest energy per bit (EPB) (504). For example, there may be multiple transmission states corresponding to frequency F_(n), with each having a different combination of data rate and RF power level (R, P). The sensor node 112 a identifies all such transmission states and orders the (R, P) pairs from low to high based on the nominal cost function associated with the pairs. The nominal cost function for each (R, P) pair is same as the associated EPB, since the EPB for a given (R, P) pair corresponds to the cost function (C) for that pair when the PSR has a unitary value.

The sensor node 112 a selects the (R, P) pair for the lowest EPB (506). For example, the sensor node configures the network interface 204 to transmit data at the data rate (R) corresponding to the lowest EPB, and configures the antenna 206 to radiate at the RF power level (P) corresponding to the lowest EPB.

The sensor node 112 a evaluates the cost function (507). For example, the sensor node evaluates the PSR for the specific [F_(n), R, P] and calculates the cost function (C) based on the known EPM and the evaluated PSR.

The sensor node 112 a determines whether the cost function is lower than the lowest cost (508). For example, the sensor node determines whether the recently calculated (C) is lower than any other previously calculated cost function that are above the row corresponding to the selected (R, P) in the ordered (R, P) list.

If the sensor node 112 a determines that the cost function is not lower than the previously calculated cost functions, then the sensor node increments to the next (R,P) pair (509) and evaluates the cost function for the next pair (507). For example, the sensor node selects the next pair from the ordered (R, P) list and repeats the evaluation for the newly selected pair.

On the other hand, if the sensor node 112 a determines that the cost function is lower than the previously calculated cost functions, the sensor node saves the (F, R, P) cost value (510). For example, the sensor node saves the calculated cost function corresponding to [F_(n), R, P] in the storage medium 208.

The sensor node 112 a determines whether the cost function is lower than the lowest EPB available (512). For example, the sensor node 112 a compares the recently calculated (C) for [F_(n), R, P] to the remaining EPB values corresponding to the remaining data rate and power level pairs that follow the selected (R, P) pair in the ordered (R, P) list. Because the remaining pairs in the order (R, P) list have not been evaluated yet, the corresponding cost functions are the nominal cost functions, that is, the associated EPB values.

If the sensor node 112 a determines that the cost function is not lower than the lowest EPB available for the remaining (R, P) pairs, then the sensor node increments to the next (R, P) pair (509) and evaluates the cost function for the next pair (507). For example, the sensor node selects the next pair from the ordered (R, P) list and repeats the evaluation for the newly selected pair.

If the sensor node 112 a determines that the cost function is lower than the lowest EPB available for the remaining (R, P) pairs, the sensor node 112 a saves the [F_(n), R, P] corresponding to the calculated cost function in the storage medium 208 as the most suitable combination of (R, P) for the frequency F_(n). Then the sensor node 112 a increments the frequency value (514) and determines whether the frequency space is out of frequencies (516). If the space is out of frequencies, the power expense evaluation for RF channel adaptation is done (518) and the process 500 terminates.

If other frequencies are available, the sensor node 112 a selects the next operating frequency, for example, F_(n+1) and sets the transmission frequency of the antenna 206 to F_(n+1). The sensor node determines the transmission states corresponding to the frequency F_(n+1), orders the (R, P) pairs for F_(n+1) from lowest to highest energy per bit (EPB) and proceeds to determine the most suitable combination of (R, P) for F_(n+1), in a manner similar to that described in the above section for F_(n).

The EPB versus (R, P) plane in a three-dimensional space monotonically increases (EPB) with decreasing R and increasing P. In addition, the PSR generally has an inverse trend that may not be known until evaluation is conducted. Because the evaluation may be expensive in terms of energy consumption, the minimum number of PSR evaluations are completed by systematically evaluating the transmission state cost function from the lowest EPB to highest EPB and updating the nominal cost function (that is, EPB value with unitary value of PSR) to the actual computed cost function. The process 500 stops evaluating the PSR, and therefore the actual cost function, when the lowest calculated cost function is lower than any of the theoretically lowest cost function that may be possible (that is, EPB) based on the remaining (R, P) pairs in the order (R, P) list.

After the process 500 is performed, a set of transmission states corresponding to the most suitable (R, P) pair for each frequency F_(n) are saved. Mapping of the frequency space that produces the most suitable (R, P) values at a given time may be expensive from an energy consumption standpoint because many test packets (for example, beacon messages) may have to be sent from the sensor nodes to the receivers in the base station. Therefore, the mapping may be conducted based on one or more of several criteria, such as the sensor node is reset, a fixed length timer, that is, a timer with a fixed duration, expires, or the sensor node is expending a large amount of energy that may be reduced by finding an operating state with lower energy consumption.

In a steady state operating condition after the transmission state mapping is performed using the process 500, the fixed length timer may be evaluated, or the energy impact of the current operating state may be evaluated, or both. The current operating state may also need to adapt to changes in the environment to ensure reliable transmission in the presence of external factors such as interference and changes in the spatial environment. Updates to the transmission state mapping may be conducted without going through the complete state space mapping, for example, using the process 500, which may be expensive. Based on the transmission state mapping, the state updates may incrementally move through the set of most suitable (R, P) values for each frequency F_(n) until an operational condition with sufficiently low energy expenditure is reached. If the (R, P) values do not produced a sufficiently low energy operational condition for an acceptable value of the PSR, then the theoretical best operational condition may be set (that is, lowest data rate and highest RF power level for a given transmission frequency).

The criterion for executing a power expense evaluation for transmission state mapping before the fixed length timer expires may be determined based on comparing the energy expenditure in using the current transmission state to the energy expenditure in performing the power expense evaluation for RF channel adaptation using the process 500. This criterion may prevent the transmission state mapping from consuming excessive power by frequently running the power expense evaluation using the process 500 if the RF environment changes frequently.

FIG. 6 is a flow chart illustrating an exemplary process 600 for determining when to perform power expense evaluation for RF channel adaptation by a sensor node. The process 600 may be performed by any of the sensor nodes 112. The following describes the process 600 as being performed by sensor node 112 a and other components of the communications system 100. However, the process 600 may be performed by other systems or system configurations.

The process 600 is executed once the initial transmission state mapping based on power expense evaluation using process 500 is performed, as described previously. Once the sensor node enters a steady state of operation, the sensor node starts a power expense evaluation trigger timer (602). For example, the sensor node starts a fixed length timer.

In the steady state, the sensor node operates the system at [F_(n), R, P] (604). For example, the sensor node the determines the combination of F_(n) and (R, P) that provides the lowest value of the cost function using the process 500 and selects the [F_(n), R, P] combination as the operating condition for transmission to the receivers at the base station.

The sensor node 112 a determines whether the compute cost function timer has expired (606). For example, when initializing steady state operation, the sensor node set a timer for computing the cost function. The sensor node 112 a is configured to recomputed the cost function at a time when the timer expires. Subsequently during operation in the steady state, the sensor node 112 a periodically checks whether the timer for computing the cost function has expired.

If the timer has not expired, then the sensor node continues operation in the steady state, using parameters [F_(n), R, P] (604). However, if the sensor node 112 a determines that the timer has expired, then the sensor node 112 a computes the cost function at the current time t for parameters [F_(nt), R_(t), P_(t)] (608). For example, the cost function timer may expire at time t. The transmission state [F_(n), R, P] may be labeled [F_(nt), R_(t), P_(t)]. The sensor node 112 a evaluates the cost function for the transmission state [F_(nt), R_(t), P_(t)] as described in process 500. The cost function for the same transmission state may be different when evaluated at different times. This is because the PSR may change with time, due to temporal changes in the environment, such as changes in interference, multipath fading, etc.

Upon computing the cost function at time t, the sensor node determines a new trigger time for power expense evaluation (610). For example, the sensor node 112 a resets the trigger timer for power expense evaluation.

The trigger timer is computed based on the relative energy expense of operating in a given state and the energy required to perform the power expense evaluation. The relative energy expense for operating in a given state is computed as the difference between the energy consumed by operating in the current state and that of a previously used lowest state. The energy required to perform the power expense evaluation is determined as the amount of theoretically estimated or measured energy that was required to perform the power expense evaluation. The trigger timer is computed as the energy required to perform the power expense evaluation divided by the difference in the average power consumed by operating in the current and that of a previous lower power state.

Subsequently, the sensor node 112 a compares whether the cost function C[F_(nt), R_(t), P_(t)] at time t for [F_(nt), R_(t), P_(t)] is greater than the cost function C[F_(p), R_(p), P_(p)] for transmission state [F_(p), R_(p), P_(p)] (612). [F_(p), R_(p), P_(p)] is the operating point or transmission state in the list of transmission states that has the lowest cost function (C) associated with it, and the frequency F_(p) is different from the frequency F_(nt).

If the sensor node 112 a determines that C[F_(nt), R_(t), P_(t)] is not greater than C[F_(p), R_(p), P_(p)], then the sensor node checks whether the trigger timer has expired (614). If the sensor node 112 a determines that the trigger timer has not expired, the sensor node 112 a continues steady state operation using [F_(n), R, P] (604), since the sensor node has determined in (612) that the current transmission state is most suited for providing the lowest cost function, that is, lowest energy consumption for transmission. If the sensor node 112 a determines that the trigger timer has expired, then the sensor node runs the power expense evaluation (622). For example, the sensor node 112 a performs the power expense evaluation using the process 500. Once the power expense evaluation is completed, the sensor node 112 a resets the trigger timer (602) and re-launches the process 600.

Referring to the cost function comparison (612), if the sensor node 112 a determines that C[F_(nt), R_(t), P_(t)] is greater than C[F_(p), R_(p), P_(p)], then the sensor node 112 a then checks whether there are more operating points (616). For example, the sensor node 112 a may check whether there are additional transmission states that might provide a better value for the cost function.

If the sensor node 112 a determines that there are no more operating points available, then the sensor node enters into a low power state and starts a wake up timer (618). For example, the sensor node may determine that the current state [F_(nt), R_(t), P_(t)] provides the most suitable value of the cost function that may be achieved under the present environmental conditions. In such an event, the sensor node 112 a maintains the current state. However, to reduce energy expenditure, the sensor node 112 a enters into a low power operation mode and starts a wake up timer. When the wake up timer expires, the sensor node 112 a re-enters the high power state and sends one or more messages to the receiver using the selected transmission state.

If the sensor node determines that there are more operating points available, then the sensor node moves to the next frequency operation point [F_(p), R_(p), P_(p)] (620). For example, the sensor node 112 a may determine that there is at least one more transmission state available that may be evaluated for a better cost function. The sensor node determines the combination of F_(p) and (R_(p), P_(p)) corresponding to the additional operating point and sets the combination as the operating condition for transmission to the receivers at the base station (604). The sensor node 112 a then operates in the steady state at [F_(p), R_(p), P_(p)] and repeats the process 600 for checking the timers and re-evaluating the cost function upon expiry of one or more timers.

FIG. 7 is an exemplary plot 700 illustrating the effect of RF channel adaptation by a sensor node on energy consumption and transmission range. The RF channel adaptation indicated in FIG. 7 may be implemented by any of the sensor nodes 112 in the communications system 100, for example, sensor node 112 a, using the process 500 along with the process 600. The following describes the plot 700 with reference to the sensor node 112 a and other components of the communications system 100. However, the plot 700 also may be applicable to other systems or system configurations.

The plot 700 is a two-dimensional plot having transmission range 702 as the X-axis and energy consumed per payload bit successfully transmitted (“energy consumed”) 704 as the Y-axis. In one implementation, the plot 700 is based on the transmission frequency (F) being the same for all the points in the plot. The plot 700 graphs the energy consumed 704 versus the range 702 for three data rates (R)—curve 706 is for data rate 270 kbps, curve 708 is for data rate 1 Mbps and curve 710 is for data rate 2 Mbps. For each data rate curve, the plot 700 graphs three points corresponding to three RF power levels (P)—points 706 a, 708 a and 710 a correspond to RF power level of 0 dBm, 706 b, 708 b and 710 b correspond to RF power level of 10 dBm and 706 c, 708 c and 710 c correspond to RF power level of 20 dBm.

In the example shown in FIG. 7, the range 702 is in meters (m) and the energy consumed 704 is in micro-Joules per bit (μJ/bit). The relationship between the data rates (R) is that 2 Mbps>1 Mbps>250 kbps. The curves 706, 708 and 710 indicate that the effect of increasing data rate (R) is to lead to a reduction in energy consumed 704. However, the range 702 also decreases as the data rate increases. As described previously, this may be the case because with higher data rates the sensor node is able to transmit a similar amount of data in less time, thereby expending less energy. However, the higher data rate also decreases the reliability with which the data are received.

The relationship between the RF power levels (P) is that 20 dBm>10 dBm>0 dBm. For each data rate curve (for example, 706 or 708 or 710), the RF power level points (for example, 706 a, 706 b and 706 c) indicate that increasing RF power level (P) leads to an increase in both the range 702 and the energy consumed 704. As described previously, this may be the case because a higher RF power level requires additional energy expenditure. In addition, the higher RF power level increases the reliability of the transmission over longer distances since the signal is stronger (that is, the signal has more power).

Overall, the curves 706, 708 and 710 indicate that reducing the data rate (R) may increase the range 702 and communication reliability but may reduce the RF link budget (due to the increase in energy consumed 704), which may compromise the packet success rate for some applications. The curves also indicate that increasing the RF power level (P) may increase the range 702 and communication reliability but may reduce the RF link budget due to the increase in energy consumed 704), which may compromise packet success rate for some applications.

The curves shown in the plot 700 indicate that it may be more beneficial to achieve gains in range 702 through increasing the RF power levels (P) instead of lowering the data rates (R). This analysis indicates that highest data rates and sufficiently high RF power levels to obtain a target range may yield improved data throughput and lower energy consumption for the sensor nodes, thereby reducing the lifecycle cost of the sensor nodes.

The disclosed and other examples may be implemented as one or more computer program products, that is, one or more modules of computer program instructions encoded on a computer readable medium for execution by, or to control the operation of, data processing apparatus. The implementations may include single or distributed processing of algorithms. The computer readable medium may be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more them. The term “data processing apparatus” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus may include, in addition to hardware, code that creates an execution environment for the computer program in question, for example, code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.

A computer program (also known as a program, software, software application, script, or code) may be written in any form of programming language, including compiled or interpreted languages, and it may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program may be stored in a portion of a file that holds other programs or data (for example, one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (for example, files that store one or more modules, sub programs, or portions of code). A computer program may be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.

The processes and logic flows described in this document may be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows may also be performed by, and apparatus may also be implemented as, special purpose logic circuitry, for example, an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).

Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer may include a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer may also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, for example, magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Computer readable media suitable for storing computer program instructions and data can include all forms of nonvolatile memory, media and memory devices, including by way of example semiconductor memory devices, for example, EPROM, EEPROM, and flash memory devices; magnetic disks, for example, internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in, special purpose logic circuitry.

The network 120 may include analog or digital wired and wireless networks (for example, Wi-Fi networks, wired Ethernet networks, Public Switched Telephone Network (PSTN), Integrated Services Digital Network (ISDN), and Digital Subscriber Line (xDSL)), Third Generation (3G) or Fourth Generation (4G) mobile telecommunications networks, private networks such as an intranet, radio, television, cable, satellite networks, and/or any other delivery or tunneling mechanism for carrying data, or any appropriate combination of such networks.

The network 106 may include a packet-switched data network, a circuit-switched data network, or any other network able to carry data, for example, Internet Protocol (IP)-based or asynchronous transfer mode (ATM)-based networks, including wired or wireless networks. In some implementations, the central collection server 134 may be a desktop computer, a laptop computer, a tablet computer, a smart phone, or any other appropriate portable or stationary computing device.

A number of implementations have been described. Nevertheless, it will be understood that various modifications may be made without departing from the scope of the disclosure. Although operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. 

What is claimed is:
 1. A method comprising: accessing, at a source node in a network, information associated with a set of available transmission states; selecting, by the source node, a first transmission state from the set of available transmission states, wherein each transmission state included in the set of available transmission states includes a combination of a transmission frequency band, a radio frequency (RF) power level and a transmission data rate that is distinct from other transmission states included in the set; evaluating, by the source node, a first metric that measures energy expenditure for a transmission success rate associated with transmitting data using the first transmission state; determining, by the source node, whether the first metric corresponding to the first transmission state is less than other metrics that measure energy expenditures for transmission success rates associated with transmitting data using the other transmission states; based on determining that the first metric corresponding to the first transmission state is greater than the other metrics corresponding to the other transmission states, selecting, by the source node, a second transmission state from the set of available transmission states, the second transmission state being different from the first transmission state; and transmitting, by the source node, data using the second transmission state.
 2. The method of claim 1, wherein each of the first and second transmission states includes a transmission frequency band, a radio frequency (RF) power level and a transmission data rate.
 3. The method of claim 1, wherein evaluating the first metric comprises: determining a ratio of an amount of data transmitted to an amount of data received at a destination.
 4. The method of claim 1, further comprising: listening for data, at a destination node in the network, concurrently using two or more transmission states included in the set of available transmission states; and receiving, by the destination node, the data transmitted by the source node.
 5. The method of claim 4, wherein the source node includes a sensor and the destination node includes a base station.
 6. The method of claim 1, wherein evaluating the first metric comprises one or more of evaluating RSSI (receive signal strength indicator), determining a packet success rate, or determining energy in a carrier band.
 7. A method comprising: accessing, at a source node in a network, information associated with a set of available transmission states, wherein each transmission state included in the set of available transmission states includes a combination of a transmission frequency band, a radio frequency (RF) power level and a transmission data rate that is distinct from other transmission states included in the set; ordering, by the source node, the available transmission states into a set of ranked transmission states based on a first evaluation that measures a theoretical energy per bit (EPB) for data transmission using the available transmission states; selecting, by the source node, a first transmission state from the set of ranked transmission states; evaluating, by the source node, a first metric that measures enemy expenditure for a transmission success rate associated with data transmission for the first transmission state included in the set of ranked transmission states; selecting, by the source node, a second transmission state from the set of ranked transmission states, the second transmission state being lower ranked than the first transmission state; evaluating, by the source node, a second metric that measures energy expenditure for a transmission success rate associated with data transmission for the second transmission state included in the set of ranked transmission states; determining, by the source node, whether the second metric is less than the first metric; and based on determining that the second metric is less than the first metric, transmitting, by the source node, data using the second transmission state.
 8. The method of claim 7, wherein ordering the transmission states into the set of ranked transmission states comprises: ordering the transmission states into the set of ranked transmission states based on increasing EPB such that a transmission state associated with a lower EPB is placed higher in the set compared to a transmission state associated with a higher EPB.
 9. The method of claim 7, wherein the first metric and the second metric measure one or more of energy consumption lifecycle cost for data transmission, received signal strength indicator (RSSI), packet success rate (PSR) associated with transmitting the data, or energy in a carrier band.
 10. The method of claim 9, wherein evaluating the PSR comprises: determining a ratio of an amount of data transmitted to an amount of the data received at a destination.
 11. The method of claim 7, wherein each of the first and second transmission states includes a transmission frequency band, a radio frequency (RF) power level and a transmission data rate.
 12. The method of claim 7, further comprising: listening for data, at a destination node in the network, concurrently using two or more transmission states included in the set of available transmission states; and receiving, by the destination node, the data transmitted by the source node.
 13. The method of claim 12, wherein the source node includes a sensor and the destination node includes a base station.
 14. The method of claim 7, wherein accessing the information associated with the set of available transmission states comprises: accessing, by the source node, the information based on a predetermined schedule.
 15. The method of claim 7, further comprising: determining, by the source node, energy expenditure associated with transmitting data using the second transmission state; selecting, by the source node, a third transmission state from the set of ranked transmission states, the third transmission state being a transmission state that was previously used for transmission; examining, by the source node, previously assessed energy savings associated with data transmission using the third transmission state; determining, by the source node, whether the previously assessed energy savings is greater than the energy expenditure associated with transmitting data using the second transmission state; and based on determining that the previously assessed energy savings is greater, transmitting, by the source node, data using the third transmission state.
 16. The method of claim 7, wherein ordering the transmission states into the set of ranked transmission states comprises: ordering the transmission states into the set of ranked transmission states based on increasing energy consumption lifecycle cost such that a transmission state associated with lower energy consumption lifecycle cost is placed higher in the set compared to a transmission state associated with higher energy consumption lifecycle cost.
 17. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers and that, upon such execution, cause the one or more computers to perform operations comprising: accessing, at a source node in a network, information associated with a set of available transmission states; selecting, by the source node, a first transmission state from the set of available transmission states, wherein each transmission state included in the set of available transmission states includes a combination of a transmission frequency band, a radio frequency (RF) power level and a transmission data rate that is distinct from other transmission states included in the set; evaluating, by the source node, a first metric that measures energy expenditure for a transmission success rate associated with transmitting data using the first transmission state; determining, by the source node, whether the first metric corresponding to the first transmission state is less than other metrics that measure energy expenditures for transmission success rates associated with transmitting data using the other transmission states; based on determining that the first metric corresponding to the first transmission state is greater than the other metrics corresponding to the other transmission states, selecting, by the source node, a second transmission state from the set of available transmission states, the second transmission state being different from the first transmission state; and transmitting, by the source node, data using the second transmission state.
 18. A non-transitory computer-readable medium storing software comprising instructions executable by one or more computers and that, upon such execution, cause the one or more computers to perform operations comprising: accessing, at a source node in a network, information associated with a set of available transmission states, wherein each transmission state included in the set of available transmission states includes a combination of a transmission frequency band, a radio frequency (RF) power level and a transmission data rate that is distinct from other transmission states included in the set; ordering, by the source node, the available transmission states into a set of ranked transmission states based on a first evaluation that measures a theoretical energy per bit (EPB) for data transmission using the available transmission states; selecting, by the source node, a first transmission state from the set of ranked transmission states; evaluating, by the source node, a first metric that measures enemy expenditure for a transmission success rate associated with data transmission for the first transmission state included in the set of ranked transmission states; selecting, by the source node, a second transmission state from the set of ranked transmission states, the second transmission state being lower ranked than the first transmission state; evaluating, by the source node, a second metric that measures energy expenditure for a transmission success rate associated with data transmission for the second transmission state included in the set of ranked transmission states; determining, by the source node, whether the second metric is less than the first metric; and based on determining that the second metric is less than the first metric, transmitting, by the source node, data using the second transmission state.
 19. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: accessing, at a source node in a network, information associated with a set of available transmission states, wherein each transmission state included in the set of available transmission states includes a combination of a transmission frequency band, a radio frequency (RF) power level and a transmission data rate that is distinct from other transmission states included in the set; selecting, by the source node, a first transmission state from the set of available transmission states; evaluating, by the source node, a first metric that measures energy expenditure for a transmission success rate associated with transmitting data using the first transmission state; determining, by the source node, whether the first metric corresponding to the first transmission state is less than other metrics that measure energy expenditures for transmission success rates associated with transmitting data using the other transmission states; based on determining that the first metric corresponding to the first transmission state is greater than the other metrics corresponding to the other transmission states, selecting, by the source node, a second transmission state from the set of available transmission states, the second transmission state being different from the first transmission state; and transmitting, by the source node, data using the second transmission state.
 20. A system comprising: one or more computers and one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising: accessing, at a source node in a network, information associated with a set of available transmission states, wherein each transmission state included in the set of available transmission states includes a combination of a transmission frequency band, a radio frequency (RF) power level and a transmission data rate that is distinct from other transmission states included in the set; ordering, by the source node, the available transmission states into a set of ranked transmission states based on a first evaluation that measures a theoretical energy per bit (EPB) for data transmission using the available transmission states; selecting, by the source node, a first transmission state from the set of ranked transmission states; evaluating, by the source node, a first metric that measures enemy expenditure for a transmission success rate associated with data transmission for the first transmission state included in the set of ranked transmission states; selecting, by the source node, a second transmission state from the set of ranked transmission states, the second transmission state being lower ranked than the first transmission state; evaluating, by the source node, a second metric that measures enemy expenditure for a transmission success rate associated with data transmission for the second transmission state included in the set of ranked transmission states; determining, by the source node, whether the second metric is less than the first metric; and based on determining that the second metric is less than the first metric, transmitting, by the source node, data using the second transmission state. 